package Background;

import java.io.Serializable;

/**
 * This class describes an entry that a contestant has submitted.
 * 
 * @author Chris Petcher
 * @version 2/27/2013
 * 
 */

public class Entry implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * A string to hold the category of the entry.
	 */
	
	private String category;
	
	/**
	 * An image of the design.
	 */
	
	private int[][] design;
	
	/**
	 * A string to hold the entry's description.
	 */
	
	private String description;
	
	/**
	 * A boolean value to determine if the contestant accepts the sponsor release.
	 */
	
	private boolean release;
	
	public Entry() {
		
	}
	/**
	 * Constructor for the contestant's entry submission.
	 */
	
	public Entry(final String the_category, final int[][] the_design){
		category = the_category;
		design = the_design;
		release = false;
	}

	/**
	 * Gets this entry's description.
	 * @return the description
	 */
	public String getDescription() {
		return description;
	}

	/**
	 * Sets the description of this entry.
	 * @param description The description to set.
	 */
	public void setDescription(String the_description) {
		description = the_description;
	}

	/**
	 * Gets the current category for this entry.
	 * @return the category The category to return.
	 */
	public String getCategory() {
		return category;
	}
	
	/**
	 * Sets the current category for this entry.
	 */
	
	public void setCategory(final String the_category){
		category = the_category;
	}

	/**
	 * Gets the current image of the design.
	 * @return the design The design to return.
	 */
	public int[][] getDesign() {
		return design;
	}

	/**
	 * Sets the current picture created from the weaving draft.
	 */
	
	public void setDesign(final int[][] the_design){
		design = the_design;
	}
	
	/**
	 * Gets the release status for this entry.
	 */
	
	public boolean getRelease(){
		boolean toReturn = false;
		
		if(release){
			toReturn = true;
		}
		
		return toReturn;
	}

	/**
	 * Sets the release status for this entry.
	 */
	
	public void setRelease(final boolean the_release){
		release = the_release;
	}

}
